Program Slicing for Refactoring: Static Slicer using Dynamic Analyser

نویسندگان

  • Amogh Katti
  • Sujatha Terdal
  • Karl J. Ottenstein
  • Linda M. Ottenstein
  • Filippo Lanubile
  • Giuseppe Visaggio
  • Raghavan Komondoor
  • Susan Horwitz
  • Arun Lakhotia
  • Jean-Christophe Deprez
چکیده

Refactoring is the process of changing the code of the software such that its internal design is improved without altering its observable behavior. Method Extraction is the process of separating out a subset of method’s statements into another method and replacing their occurrence in the original method with a call to this new method. Method extraction is a classical problem to improve the modularity of the system and is used in extracting methods from long procedural programs. It can also be used in extracting aspects from object oriented code. Thus it makes the software easier to understand, maintain and reusable. In the earlier days of method extraction, programmer selected a random set of statements for extraction which was made more sensible by specifying the variables of interest and separating the statements concerning them into a method. Thus, program slicing became part of method extraction. Many slicing algorithms exist in the literature; they first convert the program into

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

ConSIT: A Conditioned Program Slicer

Conditioned slicing is a powerful generalisation of static and dynamic slicing which has applications to many problems in software maintenance and evolution, including re-use, reengineering and program comprehension. However, there has been relatively little work on the implementation of conditioned slicing. Algorithms for implementing conditioned slicing necessarily involve reasoning about the...

متن کامل

Slicing of Constraint Logic Programs

Abstract. Slicing is a program analysis technique originally developed for imperative languages. It facilitates understanding of data flow and debugging. This paper discusses slicing of Constraint Logic Programs. Constraint Logic Programming (CLP) is an emerging software technology with a growing number of applications. Data flow in constraint programs is not explicit, and for this reason the c...

متن کامل

Practical Ne-grained Static Slicing of Optimized Code Practical Ne-grained Static Slicing of Optimized Code

Program slicing is a technique for visualizing dependences and restricting attention to just the components of a program relevant to evaluation of certain expressions. Backward slicing reveals which other parts of the program the expressions' meaning depends on, while forward slicing determines which parts of the program depend on their meaning. Slicing helps programmers understand program stru...

متن کامل

Program slicing techniques and its applications

Program understanding is an important aspect in Software Maintenance and Reengineering. Understanding the program is related to execution behaviour and relationship of variable involved in the program. The task of finding all statements in a program that directly or indirectly influence the value for an occurrence of a variable gives the set of statements that can affect the value of a variable...

متن کامل

Exploring the Suitability of Existing Tools for Constructing Executable Java Slices

Java is a managed programming language, and Java programs are executed in a virtual machine (VM) environment. Java VMs not only execute the primary application program, but also perform several other auxiliary tasks at runtime. Some of these auxiliary tasks, including the program profiling and security checks, are typically performed inline with the program execution, stalling the application p...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010